Skip to content

Add automated glossary linking with complete term coverage#88

Open
solzlivinglife wants to merge 6 commits intorobotframework:mainfrom
solzlivinglife:glossary-links-fixed
Open

Add automated glossary linking with complete term coverage#88
solzlivinglife wants to merge 6 commits intorobotframework:mainfrom
solzlivinglife:glossary-links-fixed

Conversation

@solzlivinglife
Copy link
Copy Markdown

  • Extract all 79 terms from website/static/glossary/glossary.json
  • Created extract_from_json.py to parse glossary JSON
  • Created glossary_linker.py with proper code block exclusion
  • Fixed paths to use /docs/glossary (Docusaurus absolute paths)
  • Fixed slugify to match GlossaryTable.tsx exactly
  • Linked 412 glossary terms across 31 documentation files

Features:

  • Case-insensitive matching (variable files → Variable File)
  • Plural/singular support (keywords → Keyword)
  • Test|Task notation support
  • Proper exclusion: headings, code blocks, LO blocks
  • Preserves original text casing in links
  • Complete 79-term glossary coverage

@github-actions
Copy link
Copy Markdown


::::

All arguments that are defined after a :term[Variable Number of Positional Arguments] (`*varargs`) are :term[Named-Only Arguments]{term="Named-Only Argument"}.
Copy link
Copy Markdown
Member

@leeuwe leeuwe Apr 20, 2026

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Here in this line is the correct way how a link should be build up. So not a regular Markdown link, but :term[singular or plural seen in the doc]{term="syllabus term"}
That would then look like: Screenshot_20260420-210500.png

solzlivinglife and others added 2 commits April 24, 2026 09:34
Implement GlossaryTerm React component per reviewer feedback
- Created GlossaryTerm.tsx component with hover tooltips
- Added GlossaryTerm.module.css for styling with dotted underlines
- Updated glossary linker to output component format instead of markdown links
- Uses placeholder system to prevent nested components
- Excludes :term[] directives, code blocks, headings, and existing links
- Skips learning_objectives.md (reference table)
- Auto-adds import statements to modified files
- Supports plural/singular matching and case-insensitive linking
- ~412 glossary links across 31 files
@github-actions
Copy link
Copy Markdown

@Snooz82
Copy link
Copy Markdown
Member

Snooz82 commented Apr 24, 2026

@leeuwe @solzlivinglife

There should not happen any renumbering of Learning Objectives and please do not use the glossary technique in Learning Objectives.

@leeuwe
Copy link
Copy Markdown
Member

leeuwe commented Apr 24, 2026

In the glossary it not says everywhere <GlossaryTerm term={"term"}>term</GlossaryTerm>

However, that should be: :term[Named-Only Arguments]{term="Named-Only Argument"}

This is part of a docusaurus plugin, which makes for the right formatting

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants